#ifndef WHALEPLUGIN_H
#define WHALEPLUGIN_H

#include "../gui/interfaces.h"

enum PluginType {
    TabPlugin,
    TweetPlugin,
    Unknown
};

// class for storing plugin type, name and getting plugin interface
class WhalePlugin : public QObject {
    Q_OBJECT

    public:
        WhalePlugin( QObject * pluginObject, bool enabled = true );
        TabInterface * getTabInterface();
        QString Name;
        bool Enabled;
        QObject * PluginObject;
        PluginType Type;

    public slots:
        void setEnabled( int enabled ); // keep this as int for compatibility with Qt signals (e.g. checkbox)

    signals:
        void stateChanged( bool enabled );
        void enabled();
        void disabled();
};

#endif
